﻿using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Net.Http.Headers;
using System.IO;
using Microsoft.AspNetCore.Authorization;


namespace Web.Areas.Gzh.Controllers
{
    [Authorize]
    [Area("Gzh")]
    [Route("Gzh/[controller]/[action]")]
    public class PictureController : Controller
    {        
        [HttpPost]
        public IActionResult UploadFilesAjax()
        {
            string upfilename="";
            long size = 0;
            var files = Request.Form.Files;
            foreach (var file in files)
            {                
                var filename = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName;   // 原文件名（包括路径）                
                var extName = filename.Substring(filename.LastIndexOf('.')).Replace("\"", "");  // 扩展名                
                string vsnewname = System.DateTime.Now.ToString("yyyyMMddHHmmssffff");  //声称新文件名，防止重复
                upfilename = $"{vsnewname}{extName}"; //新文件名（含扩展名）                
                
                var path = FileHelper._ContentRootPath + @"\UploadFiles\"; //上传路径
                FileHelper.CreateFiles(path, true); //路径存在则过，不存在则创建
                filename = path + upfilename;    // 新文件名（包括路径）
                size += file.Length;    // 设置文件大小
                using (FileStream fs = System.IO.File.Create(filename.ToString())) // 创建新文件
                {
                    file.CopyTo(fs);    // 复制文件
                    fs.Flush();  // 清空缓冲区数据
                }                
            } 
            //string message = $"{files.Count} file(s) / { size}bytes uploaded successfully!";
            return Json(upfilename);//返回上传文件名称:文件名.扩展名
        }
    }
}
